/*
 * Copyright (c) 2017. 深圳一七科技. All rights reserved.
 */

package com.yiqi.liebang.feature.home.contract;

import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.liebang.entity.bo.QuestionBo;
import com.yiqi.liebang.entity.bo.SearchBo;
import com.yiqi.liebang.entity.bo.TopicBo;
import com.yiqi.liebang.entity.bo.TopicListBo;

import java.util.List;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2018/7/11 9:06
 */
public interface QuestionContract {

    interface Model {


        Observable<List<QuestionBo>> getQuestionList(TopicListBo workBo);
        Observable<List<QuestionBo>> questionQuestion(SearchBo searchBo);
        Observable<List<QuestionBo>> getOtherQuestionList(SearchBo searchBo);
    }

    interface View extends BaseView {


        void showQuestionListSuccess(List<QuestionBo> workBoPageData);

        void showQuestionListError(String error);

        void showQuestionListMoreSuccess(List<QuestionBo> msg);

        void showQuestionListMoreError(String msg);

        void showQuestionListEmpty();
    }


    interface Presenter extends BasePresenter {

        void getQuestionList(
                String classifyId,
                String classify2Id,
                String IntelligentType,
                int pageIndex,
                int pageSize
        );
        void getQuestionListMore(
                String classifyId,
                String classify2Id,
                String IntelligentType,
                int pageIndex,
                int pageSize
        );
        void   searchQuestion(String content ,int pageIndex,int pageZize);

        void   searchQuestionMore(String content ,int pageIndex,int pageZize);

        void   getOtherQuestion(String type, String userUid, int pageNow, int pageSize);

        void   getOtherQuestionMore(String type, String userUid, int pageNow, int pageSize);
    }
}
